@article{chambers-2014,
  title={Object-oriented programming, functional programming and {R}},
  author={Chambers, John M},
  journal={Statistical Science},
  volume={29},
  number={2},
  pages={167--180},
  year={2014},
  publisher={Institute of Mathematical Statistics},
  url = {https://projecteuclid.org/download/pdfview_1/euclid.ss/1408368569}
}

@book{s4da,
  title = {Software for Data Analysis: Programming with {R}},
  author = {Chambers, John M},
  year = {2008},
  publisher = {Springer}
}

@inproceedings{bawden-1999,
  booktitle = {PEPM ’99},
  title= {Quasiquotation in {Lisp}},
  author= {Bawden, Alan},
  year = {1999},
  pages = {4--12},
  url = {http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.309.227}
}

@article{lumley-2001,
  title={Programmer’s niche: Macros in {R}},
  author={Lumley, Thomas},
  journal={R News},
  volume={1},
  number={3},
  pages={11--13},
  year={2001},
  url = {https://www.r-project.org/doc/Rnews/Rnews_2001-3.pdf}
}

@article{r-exts,
  title={Writing {R} extensions},
  author={{R Core Team}},
  journal={R Foundation for Statistical Computing},
  year={2018},
  url = {https://cran.r-project.org/doc/manuals/r-devel/R-exts.html}
}

@article{r-ints,
  title={R Internals},
  author={{R Core Team}},
  journal={R Foundation for Statistical Computing},
  year={2018},
  url = {https://cran.r-project.org/doc/manuals/r-devel/R-ints.html}
}

@Manual{bench,
  title = {bench: high precision timing of {R} expressions},
  author = {Jim Hester},
  url = {http://bench.r-lib.org/},
  year = {2018}
}

@Manual{forcats,
  title = {forcats: tools for working with categorical variables},
  author = {Hadley Wickham},
  url = {http://forcats.tidyverse.org},
  year = {2018},
}

@Article{lubridate,
  title = {Dates and Times Made Easy with {lubridate}},
  author = {Garrett Grolemund and Hadley Wickham},
  journal = {Journal of Statistical Software},
  year = {2011},
  volume = {40},
  number = {3},
  pages = {1--25},
  url = {http://www.jstatsoft.org/v40/i03/},
}

@Manual{magrittr,
  title = {magrittr: A forward-pipe operator for {R}},
  author = {Stefan Milton Bache and Hadley Wickham},
  year = {2014},
  url = {http://magrittr.tidyverse.org/},
}

@Manual{tibble,
  title = {tibble: simple data frames},
  author = {Kirill Müller and Hadley Wickham},
  year = {2018},
  url = {http://tibble.tidyverse.org/},
}

@book{extending-R,
  title = {Extending {R}},
  author = {Chambers, John M},
  year = {2016},
  publisher = {CRC Press},
}

@book{white-book,
  title = {Statistical Models in {S}},
  author = {Chambers, John M and Hastie, Trevor J},
  year = {1992},
  publisher={Wadsworth \& Brooks/Cole Advanced Books \& Software}
}

@book{programming-with-data,
  title = {Programming with Data: A Guide to the S Language},
  author = {Chambers, John M},
  year = {1998},
  publisher = {Springer}
}

@Manual{R6,
  title = {R6: Classes with reference semantics},
  author = {Winston Chang},
  year = {2017},
  url = {https://r6.r-lib.org},
}

@InProceedings{R.oo,
  author = {Henrik Bengtsson},
  title = {The {R.oo} package - Object-Oriented Programming with References Using Standard {R} Code},
  booktitle = {Proceedings of the 3rd International Workshop on Distributed Statistical Computing (DSC 2003)},
  year = {2003},
  editor = {Kurt Hornik and Friedrich Leisch and Achim Zeileis},
  address = {Vienna, Austria},
  month = {March},
  issn = {1609-395X},
  url = {https://www.r-project.org/conferences/DSC-2003/Proceedings/Bengtsson.pdf},
  howpublished = {https://www.r-project.org/conferences/DSC-2003/Proceedings/},
}

@Manual{proto,
  title = {proto: prototype object-based programming},
  author = {Gabor Grothendieck and Louis Kates and Thomas Petzoldt},
  year = {2016},
  url = {https://CRAN.R-project.org/package=proto},
}

@Article{mutatr,
  author = {Hadley Wickham},
  doi = {10.1007/s00180-011-0235-7},
  journal = {Computational Statistics},
  number = {3},
  pages = {405––418},
  title = {mutatr: mutable objects for {R}},
  volume = {26},
  year = {2011},
}

@book{SICP,
  title={Structure and Interpretation of Computer Programs},
  author={Abelson, Harold and Sussman, Gerald Jay and Sussman, Julie},
  year={1996},
  publisher={MIT Press}
}

@book{ctmcp,
  title={Concepts, Techniques, and Models of Computer Programming},
  author={Van-Roy, Peter and Haridi, Seif},
  year={2004},
  publisher={MIT press}
}

@book{pragprog,
  title={The Pragmatic Programmer},
  author={Hunt, Andrew and Thomas, David},
  year={1990},
  publisher={Addison Wesley}
}

@Nanual{Matrix,
  title = {Matrix: Sparse and Dense Matrix Classes and Methods},
  author = {Douglas Bates and Martin Maechler},
  year = {2018},
  url = {https://CRAN.R-project.org/package=Matrix},
}

@Manual{zeallot,
  title = {zeallot: multiple, unpacking, and destructuring assignment},
  author = {Nathan Teetor},
  year = {2018},
  url = {https://CRAN.R-project.org/package=zeallot},
}

@book{dsls,
  title={Domain-specific Languages},
  author={Fowler, Martin},
  year={2010},
  publisher={Pearson Education},
  url = {http://amzn.com/0321712943}
}

@Manual{r-lang,
  title={{R} language definition},
  author = {{R Core Team}},
  organization = {R Foundation for Statistical Computing},
  address = {Vienna, Austria},
  year = {2018},
  url = {https://cran.r-project.org/doc/manuals/r-release/R-lang.html}
}

@Manual{rlang,
  title = {rlang: tools for low-level {R} programming},
  author = {Lionel Henry and Hadley Wickham},
  year = {2018},
  url = {https://rlang.r-lib.org},
}

@Manual{data.table,
  title = {data.table: Extension of data.frame},
  author = {Matt Dowle and Arun Srinivasan},
  year = {2018},
  url = {http://r-datatable.com},
}

@inproceedings{r-design,
  title={Evaluating the design of the {R} language},
  author={Morandat, Flor{\'e}al and Hill, Brandon and Osvald, Leo and Vitek, Jan},
  booktitle={European Conference on Object-Oriented Programming},
  pages={104--131},
  year={2012},
  organization={Springer},
  url={http://r.cs.purdue.edu/pub/ecoop12.pdf}
}

@inproceedings{riposte,
  title={Riposte: a trace-driven compiler and parallel VM for vector code in {R}},
  author={Talbot, Justin and DeVito, Zachary and Hanrahan, Pat},
  booktitle={Proceedings of the 21st international conference on Parallel architectures and compilation techniques},
  pages={43--52},
  year={2012},
  organization={ACM},
  url={https://research.tableau.com/sites/default/files/pact2012-talbot-riposte.pdf}
}

@Article{Rcpp,
  title = {{Rcpp}: Seamless {R} and {C++} Integration},
  author = {Dirk Eddelbuettel and Romain Fran\c{c}ois},
  journal = {Journal of Statistical Software},
  year = {2011},
  volume = {40},
  number = {8},
  pages = {1--18},
  url = {http://www.jstatsoft.org/v40/i08/},
  doi = {10.18637/jss.v040.i08},
}

@Manual{profvis,
  title = {profvis: Interactive visualizations for profiling {R} code},
  author = {Winston Chang and Javier Luraschi},
  year = {2018},
  url = {https://rstudio.github.io/profvis/},
}

@Manual{withr,
  title = {withr: Run code with temporarily modified global state},
  author = {Jim Hester and Kirill Müller and Kevin Ushey and Hadley Wickham and Winston Chang},
  year = {2018},
  url = {http://withr.r-lib.org},
}

@Manual{purrr,
  title = {purrr: functional programming tools},
  author = {Lionel Henry and Hadley Wickham},
  year = {2018},
  url = {https://purrr.tidyverse.org},
}

@book{effective-cpp,
  title={Effective {C++}: 55 specific ways to improve your programs and designs},
  author={Meyers, Scott},
  year={2005},
  publisher={Pearson Education},
  url={http://amzn.com/0321334876}
}

@book{effective-stl,
  title={Effective {STL}: 50 specific ways to improve your use of the standard template library},
  author={Meyers, Scott},
  year={2001},
  publisher={Pearson Education},
  url={http://amzn.com/0201749629}
}

@book{alg-design-man,
  title={The Algorithm Design Manual},
  author={Skiena, Steven S},
  year={1998},
  publisher={Springer},
  url={http://amzn.com/0387948600}
}

@book{parallel-r,
  title = {Parallel {R}},
  author = {McCallum, Q. Ethan and Weston, Steve},
  year = {2011},
  publisher = {O'Reilly},
  url={http://amzn.com/B005Z29QT4}
}

@book{parcomp-ds,
  title = {Parallel Computing for Data Science},
  author = {Matloff, Norman},
  year = {2015},
  publisher = {Chapman \& Hall/CRC},
  url = {http://amzn.com/1466587016}
}

@book{art-r-prog,
  title={The Art of {R} Programming},
  author={Matloff, Norman},
  year={2011},
  publisher={No Starch Press}
}

@book{mature-opt,
  title = {Mature Optimization Handbook},
  author = {Bueno, Carlos},
  year = {2013},
  url = {http://carlos.bueno.org/optimization/}
}

@Manual{errorist,
  title = {errorist: Automatically Search Errors or Warnings},
  author = {James Balamuta},
  year = {2018},
  url = {https://github.com/coatless/errorist},
}

@Manual{searcher,
  title = {searcher: Query Search Interfaces},
  author = {James Balamuta},
  year = {2018},
  url = {https://github.com/coatless/searcher},
}

@Manual{hash,
  title = {hash: Full feature implementation of hash/associated
arrays/dictionaries},
  author = {Christopher Brown},
  year = {2013},
  url = {https://CRAN.R-project.org/package=hash},
}
@Manual{evaluate,
  title = {evaluate: Parsing and Evaluation Tools that Provide More Details than the
Default},
  author = {Hadley Wickham and Yihui Xie},
  year = {2018},
  url = {https://github.com/r-lib/evaluate},
}

@Manual{proftools,
  title = {proftools: Profile Output Processing Tools for {R}},
  author = {Luke Tierney and Riad Jarjour},
  year = {2016},
  url = {https://CRAN.R-project.org/package=proftools},
}

@Manual{memoise,
  title = {memoise: Memoisation of Functions},
  author = {Hadley Wickham and Jim Hester and Kirill Müller and Daniel Cook},
  year = {2018},
  url = {https://github.com/r-lib/memoise},
}

@Manual{styler,
  title = {styler: Non-Invasive Pretty Printing of {R} Code},
  author = {Kirill Müller and Lorenz Walthert},
  year = {2018},
  url = {http://styler.r-lib.org},
}
